

                        Streamline v3.1
                The Elder Scrolls IV - Oblivion
               (Open Beta)  -  January 9th, 2008



===================================================================
  Streamline Quik-Config Guide
===================================================================

 This readme will help assist you configure the sl.ini file when
you do not have access to the main Streamline PDF help file.  It is
not meant as the main source of documentation for Streamline, just
as a helpful guide for installation & setup of the mod.

 Note that while all of Streamline's features can be set in the
sl.ini file outside of the game (and should be the first time you
use the mod), most of these settings are also available for
later changes in the SL Main Menu in-game (rCTRL-Home hotkey).

 Please remember to backup your Oblivion.ini file before using
Streamline the first time, as it can change that file when certain
features are enabled.



===================================================================
  The SL.ini file
===================================================================

 In this document we will refer to the sl.ini file repeatedly.
It is located in your \Oblivion\Data\Streamline\INI Files
directory, and there is a backup of it inside the directory
under that, should you ever need to revert to defaults.  The ini
file can be edited with a text-editor like Notepad or Wordpad.



===================================================================
  [Main Features Settings]
===================================================================

 This section lets you enable (1) and disable (0) the
four primary features of Streamline.  Those are:

    - Streampurge:  An automated memory-cleansing feature that
                    can help reduce large stutters when loading
                    new areas in the world of Cyrodiil.

    - Streamsmooth: A feature that will help smooth out your
                    average FPS level, and will adjust visual 
                    details to compensate when your FPS goes
                    under a configured range.  Very helpful for
                    combat and low-FPS areas, and completely
                    automated.

    - Streamsave:   An autosave/quicksave replacer, it can
                    help with the tedious need of saving your
                    game on a regular basis for you.  It is
                    very configurable, and can perform a save
                    when a user-defined hotkey is pressed.
                    It makes use of a circular list of saves
                    that it writes games to, starting over
                    again when it reaches the end.

    - Streamsight:  The new crown jewel in Streamline, it can
                    boost FPS rates as high as +200% by
                    trading distant hard-to-see details for
                    increased visual performance.  It also
                    includes highly realistic and immersive
                    distant fog, which helps the player feel
                    like they are in a much larger world.



===================================================================
  [Streampurge Settings]
===================================================================

 SLmode is the purging interval between attempts to clean memory.
Lower numbers clean memory faster, higher ones clean it slower.  If
you have a very fast machine with a lot of memory, you should
consider setting this to a higher number, so that purges are larger
but happen less often, allowing your cache to work normally.  If
you have a slower machine or are loading it heavily with mods like
QTP3, FCOM, MMM, you should consider setting this to a lower number
so that memory is kept cleaner and loading stutter is decreased to
smaller units that happen more frequently.

 PurgeOnTravel, PurgeOnWait and PurgeOnSleep all define whether a
purge of memory will happen when these events do.  Travel is
defined as fast-travel, or through the use of a door or portal.



===================================================================
  [Streamsmooth FPS Settings]
===================================================================

 The FPS range defined by "SLfpsmon.Low to SLfpsmon.High" simply
means "what range will you accept as your low FPS range with full
detail, before visual details are dropped to try and reach this
range"?  When your actual FPS goes under this range, Streamsmooth
will try and get it back by lowering visual details in-game.
Remember to keep this range small, between 3 and 10, or the
feature will not work properly.

 vLOD is nothing more than a virtual "master detail slider" that
Streamsmooth uses to raise or lower overall visual detail.  You
can define how low those details go (default 0) and how high they
go (default 100) when Streamsmooth alters them to reach your
FPS range.  Slower machines should use lower ranges, like 0-50,
while higher machines can use ranges like 20-100.

 CombatFPS simply adds the number to your lower/upper FPS range
whenever the player goes into combat, trying to get higher FPS
for combat and make sure there are less slowdowns.  Setting this
to a high number is not advisable.

 FPSmoninterval can be altered to speed up or slow down how
often changes to visual details happen.  Speeding it up will
raise the impact on your CPU, while slowing it down will lower
the impact, but also degrade the smoothness of visual changes
for Streamsmooth.

 The sensitivity variable controls how fast Streamsmooth will
react to changes in your actual FPS.  Setting this very low can
result in wild and constant visual adjustments.  Setting it too
high can result in Streamsmooth "falling behind" on visual
changes, and failing to work properly.



===================================================================
  [Streamsmooth Visual Categories]
===================================================================

 Here you can define what types of visual items that Streamsmooth
is allowed to change (1) or not allowed to change (0) when it
senses FPS is out of the defined range.  These can all be toggled
on and off in the SL Main Menu in-game if needed.



===================================================================
  [Streamsave Settings]
===================================================================

 The SaveTimer controls how often (in real time) Streamsave will
attempt to automatically perform a savegame to your disk.

 NumSaveSlots is how large the total number of Streamsaved games
can reach, up to a maximum of 60.  When that limit is reached
in-game by Streamsave, it will start over again at 1, writing
over those old Streamsaved games.

 DuringCombat, WhileYielding, DangerousArea all define whether or
not Streamsave is allowed to save when the player is in those
situations.  Normally you would not want these happening, but they
can be toggled on if needed.

 AllowTresspass, AllowSwimming, AllowSneaking, AllowWeapon are all
similar to the last bunch, telling Streamsave that it isn't okay
to save when the player is in those conditions.  They can each
be enabled if needed.  For example, by toggling "AllowWeapon"
to 1, you are telling Streamsave that it can perform a savegame
when the player has his/her weapon out.

 AfterCombat is a special setting that asks Streamsave to do a
savegame after it senses combat ends and the player is still
alive.  This can be very handy in avoiding having to re-do an
entire area that you just fought your way through, only to die
or crash at the end.

 InteriorOnly, WhenIdleOnly are special in that they will limit
where Streamsave is allowed to do savegames.  The first means
"only do a save when the player is indoors".  The second means
"only do a save when the player has stopped moving", and
usually takes a few seconds even after the SaveTimer has ended.

 AfterZone tells Streamsave to do an immediate savegame after
you fast travel or go through a portal/door.

 AfterWaitSleep tells Streamswave to do an immediate savegame
after you finish sleeping or waiting for a period of time.

 PlaySoundOnSave will give an audible sound that means
Streamsave successfully completed a savegame.

 GagAutoSaves will tell Streamsave not to put a message on the
screen about having saved a game for you.

 By enabling SaveReminders, you effectively turn the savegame
system into a reminder-to-save system.  Streamsave will no
longer do the saves for you, it will instead pop up a message
on the screen reminding you to do it yourself.

 UseLiteReminders is another form of SaveReminders, this time
without a message box in the middle of the screen.  Lite
Reminders instead put a message in the upper-left area of
the screen for 2 seconds as a polite and non-intrusive way of
reminding you it is time to save your game.

 SecureAutoSaves should only be used when you feel like you are
getting corrupt savegames all the time.  It reduces the list of
saves to one (1), and attempts to do a savegame while a
messagebox is displayed.  Note that this feature is experimental
and not suggested for most players.

 LowHealth tells Streamsave it is okay to do a savegame when the
player's health is very low (not usually advisable).
LowHealthThreshold determins just how low your health is allowed
to get, and still perform a save.  For example, if you turn on
LowHealth saves, and set the threshold at 15%, Streamsave would
perform saves only if the player's health remains at or above 15%.

 SaveBeforeFastQuit is a menu-related item.  Using the SL Main
Menu you can tell the game to quit to the desktop immediately.
This feature tells Streamsave that you want to do a savegame just
before you drop to the desktop, when using fast quit.

 PurgeBeforeSave tells Streamsave to clean Oblivion's memory
before doing a savegame, which can sometimes lead to a more stable
game and less corrupt save game files.  If you get problems with
this turned on, you can try turning it off (0) to see if it has
an effect.



===================================================================
  [Streamsight Settings]
===================================================================

 Before adjusting Streamsight settings, a bit needs to be
explained about how the feature works.

 The Oblivion.ini file for two entries: "uGridDistantCount" and
"uGridDistantTreeRange".  Those entries determine how far you
can see distant details and trees while in Oblivion.  Reducing
them can dramatically improve performance while also making the
game feel more immersive.  On the html spreadsheet included with
Streamline in the Documentation folder, decide on the distance
you would like to see - lower settings for these two entries
(and the corresponding fog numbers) will speed up your FPS
as a result.

 Example: I have an average computer, and would like a medium
to high level of Streamsight.  I look on the spreadsheet and
pick 12/12 as the Grids/Trees settings for Oblivion.ini, and
the values for fog that go in the sl.ini file end up being
17000 (min fog) and 71000 (max fog).  I make the grids/trees
changes in the Oblivion.ini file by hand, and make the other
two in the sl.ini file.

 The range of "MinDistanceFog to MaxDistanceFog" is what you
just grabbed off the html spreadsheet (you did read the two
paragraphs above right?), that indicate the minimum fog range
and maximum fog range that are used to "mask empty distant
terrain".  You can set them to non-default values if you want,
but be aware that doing so and initializing the mod will
result in a message reminding you of this fact.  Instead of
setting the two fog ranges in the sl.ini, you can leave them
at their defaults, and use an automatic fog-range button
in the SL Main Menu in-game.

 MinWaterFog and MaxWaterFog control the range (and depth) of
fog when your character is submerged underwater.  It is
recommended you leave the min at 0.  The default max range
is medium-clear water.  If you prefer clearer or muddier
water, adjust it slightly (+/- 1000).  Larger numbers move
the fog out into the distance, lower ones move it in closer.
Just like the automatic fog range button for above-water fog,
there is one for underwater fog in the SL Main Menu should
you ever want to revert to default values.

 WeatherUnsticker is a feature that will restart climate and
weather patterns if they ever get stuck (for whatever reason).
Leave this enabled unless you use a scripted weather mod.
When in doubt, leave it enabled and only turn it off if you
get very weird weather patterns after stepping indoors and
back out again.

 ExtremeClipping is a feature designed to get every last bit
of FPS out of your machine, and it works hand-in-hand with
Streamsight's dynamic fog ranges.  It will place a hard limit
behind the distant fog beyond which nothing will draw.  There
is a chance of visual clipping with distant terrain
silhouettes, which can change when the character changes their
view or moves forward/backward.

 ClipMin works with ExtremeClipping to determine what your
absolute minimum clipping range from the character is. For
example, if you set this at 65000 and Streamsight's fog rolls
in as close as 10000, ExtremeClipping will keep the clipping
distance at 65000 instead of moving it in with the fog.  This
can help maintain the distant terrain silhouettes and increase
immersion, though your FPS gain will not be as high as it could
be with closer fog conditions.

 FogUpdateFrequency simply controls how many times per second
Streamsight is allowed to update atmospheric fog when the
weather changes.  Since it plays nice with weather conditions
and different fog types it will control fog 100% of the time,
and has a frequency that changes will be made with.  If you
notice slowdowns when fog is visually changing and think it
might be due to too many fog updates (usually only on VERY
slow computers), you can lower this value to compensate.



===================================================================
  [Miscellaneous Settings]
===================================================================

 When enabled (1), slFOVauto will alter your Field-of-View (FOV)
for the game to what is defined in the "SLfov" variable.  Normal
CRT-type monitors display a 4:3 aspect ratio, and should leave
this turned off (0).  If you have a wider screen, you can consider
turning it on and setting SLfov to something between 80 and 100,
depending on your tastes.  Note:  this MUST be enabled in the
sl.ini file for it to "stick" in-game, otherwise loading an
older save or starting a new game will toss out any FOV changes
made via the SL Main Menu in-game.

 FOVInDialogs will enable FOV changes in dialogs, when speaking
to NPCs.  Due to limitations in the "zooming" feature of NPC
conversation and the camera distance, this can cause a
reset of the FOV back to 75, and then again to your chosen FOV.

 Note: FOV changes ONLY work in 1st person game mode.  If you
switch to 3rd person, FOV will revert to 75 while in 3rd person,
and change back to your custom number when 1st person resumes.

 SLKillCorpses is a feature to eliminate any buggy, standing
corpses that happen due to disk overloads when loading up game
areas.  Turning it on will tell the system to try and drop any
corpses to the ground (even if they are already there) in an
effort to avoid seeing them.  This feature works as long as
the player isn't moving at super-fast speeds, otherwise there
is a good chance of buggy actors making it through to the world.

 MinKillDistance works for SLKillCorpses in determining how
close is "too close" for the corpse-killer to try and drop a
bugged corpse to the ground.  When the corpse is less than
this distance from the player, it will not be dropped.  This
alleviates any visual evidence that the corpse was bugged

 SLdebug will enable debug messages (feedback) in the console
regarding all of Streamline's enabled features.  It requires
that a special ESP be used, which can be found in the ESPs
folder of the distribution package.  If you do not replace your
normal ESP in the \Data files folder with the debug esp, you
will get no feedback in the game console.



===================================================================
  [Hotkey Configuration]
===================================================================

 This section will allow you to reconfigure all of Streamline's
hotkeys to those you would like to use.  Refer to the link at
the top of the section for keycodes to use when altering the
defaults.

 When you would like a combination of two keys for a hotkey, be
sure to set both the ModKey and the Key for that entry.  If you
only want a single key for a hotkey, set its ModKey to 0.  To
disable a hotkey completely, set the Key for it to 0.

 One highly recommended change to make to the defaults is to set
the Streamsave hotkey to F5 (Oblivion default for a quicksave),
and then to remap the Quicksave in Oblivion to something you never
use.  That way when you hit the quicksave key, Streamline notices
it and performs a Streamsave to a rotating queue of saves and
not just one slot.  The code for F5 is 116 - simply replace the 121
that is currently there for the SaveKey with it and remember to
remap your Oblivion quicksave key.

 The Music toggle hotkey was a feature that should be considered
experimental and still a work-in-progress.

 The list of hotkey types and what they do is:

    - Toggle Purges:    Turns the purging system (Streampurge)
                        on and off.

    - Toggle Smoothing: Turns the FPS smoother (Streamsmooth)
                        on and off.

    - Menu:             Will open the Streamline Main Menu
                        when pressed.

    - Purge:            Will force a memory purge (cleaning)
                        when pressed.

    - MaxVLOD:          Will set Streamsmooth's virtual master
                        details slider to maximum when pressed.

    - MinVLOD:          Will set Streamsmooth's virtual master
                        details slider to minimum when pressed.

    - AutovLOD:         Sets Streamsmooth's operation back to
                        automatic, clearing any max or min set.

    - IncvLOD:          Turns off automatic detail changes, and
                        increases vLOD (virtual detail slider)
                        by one (1) every time it is pressed.

    - DecvLOD:          Turns off automatic detail changes, and
                        decreases vLOD (virtual detail slider)
                        by one (1) every time it is pressed.

    - Save:             Tells Streamsave to perform a savegame
                        to the rotating list at the earliest
                        opportunity.

    - Music:            Toggles music on and off.  Should be
                        considered VERY experimental, and has
                        a delay built-in when turning music
                        off.  The current song must end normally
                        before terminating music playback.

    - FastQuit:         When pressed, will exit the game as
                        fast as possible.  It is recommended
                        That you not set this to a key combo
                        you could hit by mistake.

    - ForceKill:        Does a manual Corpse-killer process
                        on any nearby corpses, in an effort
                        to drop bugged standing ones to the
                        ground.



===================================================================
  [Detailed Streamsmooth Settings]
===================================================================

 These settings are provided for advanced users, and give total
control over the use of visual details and their ranges for the
Streamsmooth feature.  They have some documentation near them in
the sl.ini file, and due to their complex nature will not be
covered here.  They will be explained in the forthcoming PDF
document for Streamline operation and configuration with the final
package release.

